const express = require('express')
const conn = require('./db')
const moment = require('moment')
const router = express.Router()
// 获取所有英雄的接口 
router.get('/api/getheros', (req, res) => {
    //    查询数据库 
    let sqlStr = 'select * from users where isdel = 0'
    conn.query(sqlStr, (err, results) => {
        if (err) return res.json({
            err_code: 1,
            error: err,
            affectedRows: 0
        })
        res.json({
            err_code: 0,
            message: results,
            affectedRows: 0
        })
    })
})
// 根据id更新英雄的接口 
router.post('/api/updatehero', (req, res) => {
    // 设置查询参数 
    let sqlStr = 'update users set?where id=?'
    // 第二个参数是一个数组
    conn.query(sqlStr, [req.body, req.body.id], (err, resluts) => {
        // 判断数据是否成功的更新到数据库 
        if (err) return res.json({
            err_code: 1,
            message: '参数错误',
            affectedRows: 0
        })
        // 判断受影响行数,如果不等1 则说明更新的数据不存在
        if (resluts.affectedRows !== 1) return res.json({
            err_code: 1,
            message: '输入参数有误',
            affectedRows: 0
        })
        // 更新成功返回数据
        res.json({
            err_code: 0,
            message: '数据更新成功',
            affectedRows: 1
        })
    })
})
// 根据id获取指定英雄的信息
router.get('/api/gethero', (req, res) => {
    // console.log(req.query)
    let sqlStr = 'select * from users where id =?'
    conn.query(sqlStr, req.query.id, (err, results) => {
        if (err) return res.json({
            err_code: 1,
            message: '参数错误',
            affectedRows: 0
        })
        // console.log(results)
        if (results.length === 0) return res.json({
            err_code: 1,
            message: '数据不存在',
            affectedRows: 0
        })
        res.json({
            err_code: 0,
            message: results[0],
            affectedRows: 1
        })
    })
})
//根据id删除用户 （使用软删除）
router.get('/api/deletehero', (req, res) => {
    console.log(req.query.id)
    let sqlStr = 'update users set isdel=1  where id =?'
    conn.query(sqlStr, req.query.id, (err, results) => {
        if (err) return res.json({
            err_code: 1,
            message: "参数错误",
            affectedRows: 0
        })
        if (results.affectedRows !== 1) return res.json({
            err_code: 1,
            message: "删除失败",
            affectedRows: 0
        })
        res.json({
            err_code: 0,
            message: "删除成功",
            affectedRows: 1
        })
    })
})
// 添加角色
router.post('/api/addhero', (req, res) => {
    // console.log(req.body)
    const hero = req.body
    hero.ctime = moment().format('YYYY-MM-DD hh:mm:ss')
    let sqlStr = 'insert into users set?'
    conn.query(sqlStr, hero, (err, results) => {
        if (err) return res.json({
            err_code: 1,
            message: '参数错误',
            affectedRows: 0
        })
        if (results.affectedRows !== 1) return res.json({
            err_code: 1,
            message: '添加失败',
            affectedRows: 0
        })
        res.json({
            err_code: 0,
            message: '添加成功',
            affectedRows: 1
        })
    })
})
// 导出router 
module.exports = router